API: remove gdk_drawable_get_image()
authorBenjamin Otte <otte@redhat.com>
Tue, 13 Jul 2010 21:10:33 +0000 (23:10 +0200)
committerBenjamin Otte <otte@redhat.com>
Tue, 10 Aug 2010 19:02:26 +0000 (21:02 +0200)
docs/reference/gdk/gdk3-sections.txt
docs/reference/gdk/tmpl/drawing.sgml
docs/reference/gdk/tmpl/pixbufs.sgml
gdk/gdk.symbols
gdk/gdkdraw.c
gdk/gdkdrawable.h

index e192dc7e6022b92a9555d65be181f7e0cb79b9a3..bc3c8ba0c2ba6ef11dad1acb7c172f8791ba9fba 100644 (file)
@@ -392,7 +392,6 @@ gdk_draw_layout_with_colors
 
 <SUBSECTION>
 gdk_draw_drawable
-gdk_drawable_get_image
 gdk_drawable_copy_to_image
 
 <SUBSECTION Standard>
index 88c9f14904c4e31551d2a9bcb0fda2882d65a220..58c6377bc8ec0af12ddbd776665d4670a3d383cf 100644 (file)
@@ -354,19 +354,6 @@ bottom edges.
 @height: 
 
 
-<!-- ##### FUNCTION gdk_drawable_get_image ##### -->
-<para>
-
-</para>
-
-@drawable: 
-@x: 
-@y: 
-@width: 
-@height: 
-@Returns: 
-
-
 <!-- ##### FUNCTION gdk_drawable_copy_to_image ##### -->
 <para>
 
index df905049a089a5ed6d85af01ff4f30058430ac34..09f06fe9b23fcaebdf251ee75e1b2b78e797ffd5 100644 (file)
@@ -83,3 +83,19 @@ pixbufs, see the #GdkPixbuf API documentation.
 @Returns: 
 
 
+<!-- ##### FUNCTION gdk_pixbuf_get_from_surface ##### -->
+<para>
+
+</para>
+
+@dest: 
+@surface: 
+@src_x: 
+@src_y: 
+@dest_x: 
+@dest_y: 
+@width: 
+@height: 
+@Returns: 
+
+
index c39d5b493793e5837cb1c204559b8da6a4fe7b1a..c385ea392386a9cf442f300364615ff6322ce3d3 100644 (file)
@@ -545,7 +545,6 @@ gdk_drawable_get_clip_region
 gdk_drawable_get_colormap
 gdk_drawable_get_depth
 gdk_drawable_get_display
-gdk_drawable_get_image
 gdk_drawable_get_screen
 gdk_drawable_get_size
 gdk_drawable_get_type G_GNUC_CONST
index 79ccc00bcd9059c2ff7c42252dbdb75bf0c4d434..ce296299b9548e59193d921cdff51e0a29b27723 100644 (file)
 #include "gdkpixbuf.h"
 
 
-static GdkImage*    gdk_drawable_real_get_image (GdkDrawable     *drawable,
-                                                gint             x,
-                                                gint             y,
-                                                gint             width,
-                                                gint             height);
 static GdkDrawable* gdk_drawable_real_get_composite_drawable (GdkDrawable  *drawable,
                                                              gint          x,
                                                              gint          y,
@@ -65,7 +60,6 @@ G_DEFINE_ABSTRACT_TYPE (GdkDrawable, gdk_drawable, G_TYPE_OBJECT)
 static void
 gdk_drawable_class_init (GdkDrawableClass *klass)
 {
-  klass->get_image = gdk_drawable_real_get_image;
   klass->get_composite_drawable = gdk_drawable_real_get_composite_drawable;
   /* Default implementation for clip and visible region is the same */
   klass->get_clip_region = gdk_drawable_real_get_visible_region;
@@ -813,104 +807,6 @@ gdk_drawable_copy_to_image (GdkDrawable *drawable,
   return retval;
 }
 
-/**
- * gdk_drawable_get_image:
- * @drawable: a #GdkDrawable
- * @x: x coordinate on @drawable
- * @y: y coordinate on @drawable
- * @width: width of region to get
- * @height: height or region to get
- * 
- * A #GdkImage stores client-side image data (pixels). In contrast,
- * #GdkPixmap and #GdkWindow are server-side
- * objects. gdk_drawable_get_image() obtains the pixels from a
- * server-side drawable as a client-side #GdkImage.  The format of a
- * #GdkImage depends on the #GdkVisual of the current display, which
- * makes manipulating #GdkImage extremely difficult; therefore, in
- * most cases you should use gdk_pixbuf_get_from_drawable() instead of
- * this lower-level function. A #GdkPixbuf contains image data in a
- * canonicalized RGB format, rather than a display-dependent format.
- * Of course, there's a convenience vs. speed tradeoff here, so you'll
- * want to think about what makes sense for your application.
- *
- * @x, @y, @width, and @height define the region of @drawable to
- * obtain as an image.
- *
- * You would usually copy image data to the client side if you intend
- * to examine the values of individual pixels, for example to darken
- * an image or add a red tint. It would be prohibitively slow to
- * make a round-trip request to the windowing system for each pixel,
- * so instead you get all of them at once, modify them, then copy
- * them all back at once.
- *
- * If the X server or other windowing system backend is on the local
- * machine, this function may use shared memory to avoid copying
- * the image data.
- *
- * If the source drawable is a #GdkWindow and partially offscreen
- * or obscured, then the obscured portions of the returned image
- * will contain undefined data.
- * 
- * Return value: a #GdkImage containing the contents of @drawable
- **/
-GdkImage*
-gdk_drawable_get_image (GdkDrawable *drawable,
-                        gint         x,
-                        gint         y,
-                        gint         width,
-                        gint         height)
-{
-  GdkDrawable *composite;
-  gint composite_x_offset = 0;
-  gint composite_y_offset = 0;
-  GdkImage *retval;
-  GdkColormap *cmap;
-  
-  g_return_val_if_fail (GDK_IS_DRAWABLE (drawable), NULL);
-  g_return_val_if_fail (x >= 0, NULL);
-  g_return_val_if_fail (y >= 0, NULL);
-
-  /* FIXME? Note race condition since we get the size then
-   * get the image, and the size may have changed.
-   */
-  
-  if (width < 0 || height < 0)
-    gdk_drawable_get_size (drawable,
-                           width < 0 ? &width : NULL,
-                           height < 0 ? &height : NULL);
-  
-  composite =
-    GDK_DRAWABLE_GET_CLASS (drawable)->get_composite_drawable (drawable,
-                                                               x, y,
-                                                               width, height,
-                                                               &composite_x_offset,
-                                                               &composite_y_offset); 
-  
-  retval = GDK_DRAWABLE_GET_CLASS (composite)->get_image (composite,
-                                                          x - composite_x_offset,
-                                                          y - composite_y_offset,
-                                                          width, height);
-
-  g_object_unref (composite);
-
-  cmap = gdk_drawable_get_colormap (drawable);
-  
-  if (retval && cmap)
-    gdk_image_set_colormap (retval, cmap);
-  
-  return retval;
-}
-
-static GdkImage*
-gdk_drawable_real_get_image (GdkDrawable     *drawable,
-                            gint             x,
-                            gint             y,
-                            gint             width,
-                            gint             height)
-{
-  return gdk_drawable_copy_to_image (drawable, NULL, x, y, 0, 0, width, height);
-}
-
 static GdkDrawable *
 gdk_drawable_real_get_composite_drawable (GdkDrawable *drawable,
                                           gint         x,
index d1844bca93c2a368f9c7d2187b3a052e136be969..9716f163c6c8d5fc6126108f83d5c92509d01869 100644 (file)
@@ -123,12 +123,6 @@ struct _GdkDrawableClass
   GdkVisual*   (*get_visual)   (GdkDrawable  *drawable);
   GdkScreen*   (*get_screen)   (GdkDrawable  *drawable);
 
-  GdkImage*    (*get_image)  (GdkDrawable  *drawable,
-                              gint          x,
-                              gint          y,
-                              gint          width,
-                              gint          height);
-
   cairo_region_t*   (*get_clip_region)    (GdkDrawable  *drawable);
   cairo_region_t*   (*get_visible_region) (GdkDrawable  *drawable);
 
@@ -314,11 +308,6 @@ void gdk_draw_trapezoids         (GdkDrawable        *drawable,
                                  gint                n_trapezoids);
 
 
-GdkImage* gdk_drawable_get_image      (GdkDrawable *drawable,
-                                       gint         x,
-                                       gint         y,
-                                       gint         width,
-                                       gint         height);
 GdkImage *gdk_drawable_copy_to_image (GdkDrawable  *drawable,
                                      GdkImage     *image,
                                      gint          src_x,